;;; GNU Guix --- Functional package management for GNU
;;;
;;; Copyright © 2022 singpolyma <singpolyma@singpolyma.net>
;;;
;;; This file is not part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (guixrus packages javascript typescript)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages)
  #:use-module (gnu packages node)
  #:use-module (gnu packages node-xyz)
  #:use-module (gnu packages web)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system node))

(define-public node-balanced-match
  (package
    (name "node-balanced-match")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/juliangruber/balanced-match")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0zfdi5hsdlfv63xnbzq13g7dalkmgh2hi8arm0s8863s3qhx91x4"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("tape"
                 "standard"
                 "prettier-standard"
                 "np"
                 "@c4312/matcha")))))))
    (home-page "https://github.com/juliangruber/balanced-match")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-brace-expansion
  (package
    (name "node-brace-expansion")
    (version "2.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/juliangruber/brace-expansion")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "113banahmr00n1fnyswdsx2jgpfi05f4hn2gc5i8kka7hmj3b5g1"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tape" "@c4312/matcha")))))))
    (inputs (list node-balanced-match))
    (home-page "https://github.com/juliangruber/brace-expansion")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-minimatch
  (package
    (name "node-minimatch")
    (version "3.0.4")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/minimatch")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1ik49n52siwfzmnh5mg4mm91k9gl6b4whsjyrawj0sqcmi790fxs"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tap")))))))
    (inputs (list node-brace-expansion))
    (home-page "https://github.com/isaacs/minimatch")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-inflight
  (package
    (name "node-inflight")
    (version "1.0.6")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/npm/inflight")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0jm60cik7yiblhwj7q14ndawrx9n91q7mww6ay3qpahzp8iljlc0"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tap")))))))
    (inputs (list node-once node-wrappy))
    (home-page "https://github.com/npm/inflight")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-fs-realpath
  (package
    (name "node-fs-realpath")
    (version "1.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/fs.realpath")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1paqz15kz14ghq9mx8klngi7yqpmh9l4i7sr808jnkivqkpkn5k5"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f))
    (home-page "https://github.com/isaacs/fs.realpath")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-glob
  (package
    (name "node-glob")
    (version "7.2.0-d75c2b6")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/43081j/node-glob")
             (commit "d75c2b6ec836af43cb0e34bf03c3db09b33d2e92")))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1sm02k1498y3yv865rh3fmzwl5jq1bi014iy1mvv252pw6pqilsx"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("memfs" "mkdirp" "rimraf" "tap" "tick")))))))
    (inputs
      (list
        node-fs-realpath
        node-inflight
        node-inherits
        node-minimatch
        node-once))
    (home-page "https://github.com/isaacs/node-glob")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-mkdirp
  (package
    (name "node-mkdirp")
    (version "1.0.4")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/node-mkdirp")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1c9zmgnhldrrwim644qjlrfw4hcdvb6b2bawyhqh649gxpnkzb5m"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("require-inject" "tap")))))))
    (home-page "https://github.com/isaacs/node-mkdirp")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-rimraf
  (package
    (name "node-rimraf")
    (version "3.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/rimraf")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1j0wmwwrzqv5k5lsm1dfdik0f5ilprpwrb3i609x8qcm2k8as572"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tap")))))))
    (inputs (list node-glob))
    (native-inputs (list node-mkdirp))
    (home-page "https://github.com/isaacs/rimraf")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-exit
  (package
    (name "node-exit")
    (version "0.1.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/cowboy/node-exit")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1k97k7z3fc7g0bdn7ijrs3nqis05hkgi84iwrx8mrmdgjbwg3jws"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("grunt-contrib-jshint"
                 "grunt-contrib-nodeunit"
                 "grunt-contrib-watch"
                 "grunt"
                 "which")))))))
    (home-page "https://github.com/cowboy/node-exit")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-dateformat
  (package
    (name "node-dateformat")
    (version "5.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/felixge/node-dateformat")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1i61cr5lk9kf11spq3izgvn7fqyiqqx88rddi7yd4km7695szx1h"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'switch-to-esbuild
           (lambda args
             (substitute* "package.json"
               (("\"build.*babel src.*")
                (string-append
                 "\"build\": \""
                 "esbuild src/dateformat.js --target=es6 --format=cjs --outfile=lib/dateformat.cjs &&"
                 "esbuild src/dateformat.js --target=es6 --format=esm --outfile=lib/dateformat.js"
                 "\","))
                (("\"main.*dateformat.*") "\"exports\": { \".\": { \"require\": \"./lib/dateformat.cjs\", \"import\": \"./lib/dateformat.js\" } },\n"))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@babel/cli"
                 "@babel/core"
                 "@babel/preset-env"
                 "mocha"
                 "uglify-js")))))))
    (native-inputs (list esbuild))
    (home-page "https://github.com/felixge/node-dateformat")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-eventemitter2
  (package
    (name "node-eventemitter2")
    (version "6.4.5")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/EventEmitter2/EventEmitter2")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0iv70q73h1hj4bc1f8dzqbjxp3k9wr5vldl09pprkqmrshwlwr6y"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("benchmark"
                 "bluebird"
                 "coveralls"
                 "mocha"
                 "nodeunit"
                 "nyc")))))))
    (home-page "https://github.com/EventEmitter2/EventEmitter2")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-picomatch
  (package
    (name "node-picomatch")
    (version "2.3.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/micromatch/picomatch")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1qvdck71fcfp1j2hmw4ngidg908s3wj0jd99aggi8rl9cfnva3lr"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("eslint"
                 "fill-range"
                 "gulp-format-md"
                 "mocha"
                 "nyc"
                 "time-require")))))))
    (home-page "https://github.com/micromatch/picomatch")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-is-number
  (package
    (name "node-is-number")
    (version "7.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/is-number")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "13sy484inzcs6xk4aisv1yqs5dsh19pr4xhq9s4svcnh6hlhqww9"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("ansi"
                 "benchmark"
                 "gulp-format-md"
                 "mocha")))))))
    (home-page "https://github.com/jonschlinkert/is-number")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-to-regex-range
  (package
    (name "node-to-regex-range")
    (version "5.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/micromatch/to-regex-range")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "02xhjynmsnjpy56dwbhnxikx1l27sjvsw8vfm2bhil3m2f27bhp4"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("fill-range"
                 "gulp-format-md"
                 "mocha"
                 "text-table"
                 "time-diff")))))))
    (inputs (list node-is-number))
    (home-page "https://github.com/micromatch/to-regex-range")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-fill-range
  (package
    (name "node-fill-range")
    (version "7.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/fill-range")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1fsv3f8m6xi7xa5vyyw4hd2pgrmbdd55gwnc97mr6p3q93ml9gsk"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-to-regex-range))
    (home-page "https://github.com/jonschlinkert/fill-range")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-braces
  (package
    (name "node-braces")
    (version "3.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/micromatch/braces")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1y7h4jqpglhcrzvhbg1s018bj34wvr1q9k30xsxn4yqxaga995my"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("ansi-colors"
                 "bash-path"
                 "gulp-format-md"
                 "mocha")))))))
    (inputs (list node-fill-range))
    (home-page "https://github.com/micromatch/braces")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-micromatch
  (package
    (name "node-micromatch")
    (version "4.0.4")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/micromatch/micromatch")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1pvnv2svmyfsk91psj7xcg900zwbhw162qa27f9wyb4yd1mjw0wh"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("fill-range"
                 "gulp-format-md"
                 "minimatch"
                 "mocha"
                 "time-require")))))))
    (inputs (list node-braces node-picomatch))
    (home-page "https://github.com/micromatch/micromatch")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-detect-file
  (package
    (name "node-detect-file")
    (version "1.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/doowb/detect-file")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0mvm653ipn0fjh4h193kpbazwvf9a4n1p49zi207bfdz29sapp16"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (home-page "https://github.com/doowb/detect-file")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-is-extglob
  (package
    (name "node-is-extglob")
    (version "2.1.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/is-extglob")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1nx8nxgm7gkdlwdnfd5lp3ng1lymla8gqfqsg9m11v65dz3q9j0q"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (home-page "https://github.com/jonschlinkert/is-extglob")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-is-glob
  (package
    (name "node-is-glob")
    (version "4.0.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/micromatch/is-glob")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0iy5776bifm2y1c6a27gv23h6r8fyzyr0bsm7vdbwcv5w7ivfyal"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-is-extglob))
    (home-page "https://github.com/micromatch/is-glob")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-isexe
  (package
    (name "node-isexe")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/isexe")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "18rh937j0m0jkzdxfdvvjv6nsdbrdqipnq7nvv1ab7b7rjyw5id3"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tap")))))))
    (native-inputs (list node-rimraf node-mkdirp))
    (home-page "https://github.com/isaacs/isexe")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-which
  (package
    (name "node-which")
    (version "2.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/node-which")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0f9x6xl8r49g466ipzq9f4p503dhnpw74yrxam2l17v8f8c5yck5"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tap")))))))
    (inputs (list node-isexe))
    (native-inputs (list node-rimraf node-mkdirp))
    (home-page "https://github.com/isaacs/node-which")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-kind-of
  (package
    (name "node-kind-of")
    (version "6.0.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/kind-of")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1layzdxdw0j75p314kqyk0d9mkfng1f5d2af7jkjazdfvwspz14i"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("benchmarked"
                 "browserify"
                 "gulp-format-md"
                 "mocha"
                 "write")))))))
    (home-page "https://github.com/jonschlinkert/kind-of")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-ini
  (package
    (name "node-ini")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/ini")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0d3ylhv2n6mbxwbdl80fa5pgc9581p7cc0jkb00jchzml3v5sqfb"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("eslint"
                 "eslint-plugin-import"
                 "eslint-plugin-node"
                 "eslint-plugin-promise"
                 "eslint-plugin-standard"
                 "tap")))))))
    (home-page "https://github.com/isaacs/ini")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-global-prefix
  (package
    (name "node-global-prefix")
    (version "3.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/global-prefix")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "09kkpr0y59sghk6fw6cmr0nxpb09swmkd6wdzx166yy0f079xs1y"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-ini node-kind-of node-which))
    (home-page "https://github.com/jonschlinkert/global-prefix")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-global-modules
  (package
    (name "node-global-modules")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/global-modules")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0sk1scpig5r0nh70cyfkrsayqi3v3p8y4q8a0xsvy3d4q22qy8i7"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-global-prefix))
    (home-page "https://github.com/jonschlinkert/global-modules")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-expand-tilde
  (package
    (name "node-expand-tilde")
    (version "2.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/expand-tilde")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1nbdpn0qj2zcr2wi26nczc947s6pqqcjlnmm3qm5s4xlpx7v96ki"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'un-polyfill
           (lambda args
             (substitute* "index.js"
               (("var homedir.*polyfill.*") "")
               (("var home = homedir") "var home = require('os').homedir"))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("gulp-format-md"
                 "is-windows"
                 "mocha"
                 "homedir-polyfill")))))))
    (home-page "https://github.com/jonschlinkert/expand-tilde")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-resolve-dir
  (package
    (name "node-resolve-dir")
    (version "1.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/resolve-dir")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1dy4ml7rvr0ib9d01a0xvj45v1cnq7w4rnc7s780ib4008x1jbv3"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("gulp-format-md"
                 "homedir-polyfill"
                 "mocha")))))))
    (inputs (list node-expand-tilde node-global-modules))
    (home-page "https://github.com/jonschlinkert/resolve-dir")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-findup-sync
  (package
    (name "node-findup-sync")
    (version "5.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gulpjs/findup-sync")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1hy04dkxbkgqscssa3lp2fv2h57dh81hszbhni1p29zwnzkjf3p2"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("eslint"
                 "eslint-config-gulp"
                 "eslint-plugin-node"
                 "expect"
                 "homedir-polyfill"
                 "mocha"
                 "normalize-path"
                 "nyc"
                 "resolve")))))))
    (inputs
      (list
        node-detect-file
        node-is-glob
        node-micromatch
        node-resolve-dir))
    (home-page "https://github.com/gulpjs/findup-sync")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-safer-buffer
  (package
    (name "node-safer-buffer")
    (version "2.1.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/ChALkeR/safer-buffer")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "051by8jx2yq2jymcxpir89hsn9mnrsd1lmqs7v757336f6nmw408"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("standard" "tape")))))))
    (inputs
      (list
        node-detect-file
        node-is-glob
        node-micromatch
        node-resolve-dir))
    (home-page "https://github.com/ChALkeR/safer-buffer")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-iconv-lite
  (package
    (name "node-iconv-lite")
    (version "0.6.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/ashtuchkin/iconv-lite")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1s392ifqzihhk1qqfivhfkpw0fqh7mm0zgznr5v76xgkk1dr5zbm"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("async"
                 "c8"
                 "errto"
                 "iconv"
                 "mocha"
                 "request"
                 "semver"
                 "unorm")))))))
    (inputs (list node-safer-buffer))
    (home-page "https://github.com/ashtuchkin/iconv-lite")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-argparse
  (package
    (name "node-argparse")
    (version "2.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/nodeca/argparse")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0wz8i7w0f633r9l81nm1is7wv8a9k90hgxi8x01xpvpwmhl6xvfx"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@babel/eslint-parser"
                 "@babel/plugin-syntax-class-properties"
                 "eslint"
                 "mocha"
                 "nyc")))))))
    (home-page "https://github.com/nodeca/argparse")
    (synopsis "")
    (description "")
    (license license:psfl)))

(define-public node-js-yaml
  (package
    (name "node-js-yaml")
    (version "2.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/nodeca/js-yaml")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "11xgxgbg9ym467mavm7gc0q3b6gxl4qlsgwyjk87lvyc523iqcjh"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@rollup/plugin-commonjs"
                 "@rollup/plugin-node-resolve"
                 "ansi"
                 "benchmarck"
                 "codemirror"
                 "eslint"
                 "fast-check"
                 "gh-pages"
                 "mocha"
                 "nyc"
                 "rollup"
                 "rollup-plugin-node-polyfills"
                 "rollup-plugin-tester"
                 "shelljs")))))))
    (inputs (list node-argparse))
    (home-page "https://github.com/nodeca/js-yaml")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-abbrev
  (package
    (name "node-abbrev")
    (version "1.1.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/abbrev-js")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "043zfk3w1gmmazj44jv7545xs96dmh7j344dk0db726nxi79yh2n"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tap")))))))
    (home-page "https://github.com/isaacs/abbrev-js")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-nopt
  (package
    (name "node-nopt")
    (version "5.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/npm/nopt")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0xqlda153clmf4vkqqqwihycwa254mnasm1shy2h7637m182180k"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("tap")))))))
    (inputs (list node-abbrev))
    (home-page "https://github.com/npm/nopt")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-grunt-known-options
  (package
    (name "node-grunt-known-options")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gruntjs/grunt-known-options")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1mbxlfcxpwrhwr8i6hb5z0kk4ir4nnghz4pj6cv18czs24767j36"))))
    (build-system node-build-system)
    (home-page "https://github.com/gruntjs/grunt-known-options")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-v8flags
  (package
    (name "node-v8flags")
    (version "4.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gulpjs/v8flags")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0w7kmp5fzn9csn5fhjq0vjykkgp8vf0six9frbgrq3d612mszcy1"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("async"
                 "eslint"
                 "eslint-config-gulp"
                 "eslint-plugin-node"
                 "expect"
                 "mocha"
                 "nyc"
                 "proxyquire")))))))
    (home-page "https://github.com/gulpjs/v8flags")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-is-plain-object
  (package
    (name "node-is-plain-object")
    (version "5.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/is-plain-object")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1s2klxw9d6482fjv788anlk3s22va2j3rvxjnhx4javnh5l8azi0"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'switch-to-esbuild
           (lambda args
             (substitute* "package.json"
               (("\"build.*rollup -c.*")
                (string-append
                 "\"build\": \""
                 "esbuild ./is-plain-object.js --target=es6 --format=iife --outfile=browser/is-plain-object.js &&"
                 "esbuild ./is-plain-object.js --target=es6 --format=cjs --outfile=dist/is-plain-object.js &&"
                 "esbuild ./is-plain-object.js --target=es6 --format=esm --outfile=dist/is-plain-object.mjs"
                 "\",")))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("chai"
                 "esm"
                 "gulp-format-md"
                 "mocha"
                 "mocha-headless-chrome"
                 "rollup")))))))
    (native-inputs (list esbuild))
    (home-page "https://github.com/jonschlinkert/is-plain-object")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-function-bind
  (package
    (name "node-function-bind")
    (version "1.1.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Raynos/function-bind")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "19dcz6b3xs4hfxmjzr6b52r0rj3yziw8spzq4xpwnmggwyks7nm6"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@ljharb/eslint-config"
                 "covert"
                 "eslint"
                 "jscs"
                 "tape")))))))
    (home-page "https://github.com/Raynos/function-bind")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-has
  (package
    (name "node-has")
    (version "1.0.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/tarruda/has")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "12p1780ixhlw6lags1lrqm0gbyxc48ca4jfjqh6998l0hbg4fcqx"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@ljharb/eslint-config"
                 "eslint"
                 "tape")))))))
    (inputs (list node-function-bind))
    (home-page "https://github.com/tarruda/has")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-is-core-module
  (package
    (name "node-is-core-module")
    (version "2.8.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/inspect-js/is-core-module")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0i2mr92x6p4jqsc6mvsdvcys43kdl49lgzp1m3a1m0rdzi1iqf09"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@ljharb/eslint-config"
                 "aud"
                 "auto-changelog"
                 "eslint"
                 "nyc"
                 "safe-publish-latest"
                 "semver"
                 "tape")))))))
    (inputs (list node-has))
    (home-page "https://github.com/inspect-js/is-core-module")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-path-parse
  (package
    (name "node-path-parse")
    (version "1.0.7")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jbgutierrez/path-parse")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "02vyyhxczsizzb0kycgm30vl8bji975rfb4kh6jfzrnqlrkjhcvd"))))
    (build-system node-build-system)
    (home-page "https://github.com/jbgutierrez/path-parse")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-supports-preserve-symlinks-flag
  (package
    (name "node-supports-preserve-symlinks-flag")
    (version "1.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/inspect-js/node-supports-preserve-symlinks-flag")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "185s2ll60dfc02568myav9idl0w1dxz2kzi6a2hyr7v9gzmvfzww"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@ljharb/eslint-config"
                 "aud"
                 "auto-changelog"
                 "eslint"
                 "nyc"
                 "safe-publish-latest"
                 "semver"
                 "tape")))))))
    (home-page
      "https://github.com/inspect-js/node-supports-preserve-symlinks-flag")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-resolve
  (package
    (name "node-resolve")
    (version "1.22.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/browserify/resolve")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "01cqi9m8ibmylivmaryyvzrbqs00svhq538bn3sj6q7dzsf9sl5z"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@ljharb/eslint-config"
                 "array.prototype.map"
                 "aud"
                 "copy-dir"
                 "eclint"
                 "eslint"
                 "in-publish"
                 "mkdirp"
                 "mv"
                 "object-keys"
                 "rimraf"
                 "safe-publish-latest"
                 "tap"
                 "tape"
                 "tmp")))))))
    (inputs
      (list
        node-is-core-module
        node-path-parse
        node-supports-preserve-symlinks-flag))
    (home-page "https://github.com/browserify/resolve")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-rechoir
  (package
    (name "node-rechoir")
    (version "0.8.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gulpjs/rechoir")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "13y1cq8w86n7kd4jbizjmmbk5xxv9lsrhaaakpygb3jhj4r5r69c"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("eslint"
                 "eslint-config-gulp"
                 "expect"
                 "mocha"
                 "nyc")))))))
    (inputs (list node-resolve))
    (home-page "https://github.com/gulpjs/rechoir")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-make-iterator
  (package
    (name "node-make-iterator")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/make-iterator")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0ckkwc53mrd7av72zpv2vdy5xgi2b1dspfsxy1l9xcp86hxy4w8i"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-kind-of))
    (home-page "https://github.com/jonschlinkert/make-iterator")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-for-in
  (package
    (name "node-for-in")
    (version "1.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/for-in")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1d9r0rq64g2w7dgfpknrl30yln8b4a30nq62s03lflam8a6ymrx9"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-kind-of))
    (home-page "https://github.com/jonschlinkert/for-in")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-for-own
  (package
    (name "node-for-own")
    (version "1.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/for-own")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "07qk6dgjj2slgwrl58hhnl7bjispmm7indv6lv7dkhzd6wzigyl8"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-for-in))
    (home-page "https://github.com/jonschlinkert/for-own")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-object-map
  (package
    (name "node-object-map")
    (version "1.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/object.map")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "107zmijzz49m5s8xr1qarsswr0wlkmy7h657pqgfzhw80mfgr5lr"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-for-own node-make-iterator))
    (home-page "https://github.com/jonschlinkert/object.map")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-isobject
  (package
    (name "node-isobject")
    (version "3.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/isobject")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1cxvqb91kvqm51wncrm226jhc4kfqqhya20c8a8zw7wx0y5cgfnr"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'switch-to-esbuild
           (lambda args
             (substitute* "package.json"
               (("\"build.*rollup -i.*")
                (string-append
                 "\"build\": \""
                 "esbuild index.js --target=es6 --format=cjs --outfile=index.cjs.js"
                 "\",")))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("esm"
                 "gulp-format-md"
                 "mocha"
                 "rollup")))))))
    (native-inputs (list esbuild))
    (home-page "https://github.com/jonschlinkert/isobject")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-object-pick
  (package
    (name "node-object-pick")
    (version "1.3.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/object.pick")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1kwhaqi5dbm5dfjxl23cj4ijiyn50xq6ln4rn4cjbnzy2j704l6m"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha" "vinyl")))))))
    (inputs (list node-isobject))
    (home-page "https://github.com/jonschlinkert/object.pick")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-flagged-respawn
  (package
    (name "node-flagged-respawn")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gulpjs/flagged-respawn")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1k45yd8277c17zyda2vz51is3w2a92l1h5iix538bnizi7rjpmvn"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("eslint"
                 "eslint-config-gulp"
                 "eslint-plugin-node"
                 "expect"
                 "mocha"
                 "nyc"
                 "v8flags")))))))
    (home-page "https://github.com/gulpjs/flagged-respawn")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-array-slice
  (package
    (name "node-array-slice")
    (version "1.1.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/array-slice")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1v82a95vp0dqg9lry7i5y4r0d47922khh6xa5g5fqms3l74cna0r"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (home-page "https://github.com/jonschlinkert/array-slice")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-array-each
  (package
    (name "node-array-each")
    (version "1.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/array-each")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "17915adrlcm2ghv1pjlyp7g77292wwwfxgmp4pcs8h8xjrbv96m0"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (home-page "https://github.com/jonschlinkert/array-each")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-object-defaults
  (package
    (name "node-object-defaults")
    (version "1.1.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jonschlinkert/object.defaults")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0szhbxp5xxw83s1jxz9gh705wkvk9d3pz7a2r435hk91cg4jk1c5"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("gulp-format-md" "mocha")))))))
    (inputs (list node-array-each node-array-slice node-for-own node-isobject))
    (home-page "https://github.com/jonschlinkert/object.defaults")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-fined
  (package
    (name "node-fined")
    (version "2.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gulpjs/fined")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "186fjngg8v083yf7vb2mq51xgzgaq2ircxw5nw0y0n8rwvkc1x02"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'un-polyfill
           (lambda args
             (substitute* "index.js"
               (("var parsePath.*parse-filepath.*") "")
               (("var parsed = parsePath") "var parsed = require('path').parse"))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("eslint"
                 "eslint-config-gulp"
                 "eslint-plugin-node"
                 "expect"
                 "mocha"
                 "nyc"
                 "parse-filepath")))))))
    (inputs
      (list
        node-expand-tilde
        node-is-plain-object
        node-object-defaults
        node-object-pick))
    (home-page "https://github.com/gulpjs/fined")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-extend
  (package
    (name "node-extend")
    (version "3.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/justmoon/node-extend")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "17dxmj77rd5havsqf56fqprnvw1nl6nk2g5af36r072sdmrisb98"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@ljharb/eslint-config"
                 "covert"
                 "eslint"
                 "jscs"
                 "tape")))))))
    (home-page "https://github.com/justmoon/node-extend")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-liftup
  (package
    (name "node-liftup")
    (version "3.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gruntjs/js-liftup")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0nzmkx008zd527qm5pjl0ifxgchidkw7nqkizp05gi3f02i5nicw"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'fix-for-newer-is-plain-object
           (lambda args
             (substitute* "index.js"
               (("(var isPlainObject = require[^;]*);" _ req)
                (string-append req ".isPlainObject;")))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("chai"
                 "coffeescript"
                 "eslint"
                 "eslint-config-gulp"
                 "mocha"
                 "nyc"
                 "sinon")))))))
    (inputs
      (list
        node-extend
        node-findup-sync
        node-fined
        node-flagged-respawn
        node-is-plain-object
        node-object-map
        node-rechoir
        node-resolve))
    (home-page "https://github.com/gruntjs/js-liftup")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-interpret
  (package
    (name "node-interpret")
    (version "2.2.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gulpjs/interpret")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "16l8f3zcmfms0xw7pd3zlh6vcdf3qlfq17g8ckzdk4k85inpcvb9"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("coveralls"
                 "eslint"
                 "eslint-config-gulp"
                 "expect"
                 "mocha"
                 "nyc"
                 "parse-node-version"
                 "rechoir"
                 "shelljs"
                 "trash-cli")))))))
    (home-page "https://github.com/gulpjs/interpret")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-grunt-cli
  (package
    (name "node-grunt-cli")
    (version "1.4.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gruntjs/grunt-cli")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0yqxa3l1yk0z82p8krpwwrmnic9g0zn7ribbh2j8504kzjwqw4d9"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("grunt" "grunt-contrib-jshint")))))))
    (inputs
      (list
        node-grunt-known-options
        node-interpret
        node-liftup
        node-nopt
        node-v8flags))
    (home-page "https://github.com/gruntjs/grunt-cli")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-lodash
  (package
    (name "node-lodash")
    (version "4.17.21")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/lodash/lodash")
             (commit (string-append version "-npm"))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0ma700qx8klq7n3495frx4agibdmiyyc9nzmw046srmhhyflyl0r"))))
    (build-system node-build-system)
    (home-page "https://github.com/lodash/lodash")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-hooker
  (package
    (name "node-hooker")
    (version "0.2.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/cowboy/javascript-hooker")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0bvhvlk6fly7ic1snds6s5ifg3cmm371cpg9hlrpaa4yg1vsbhbb"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("grunt")))))))
    (home-page "https://github.com/cowboy/javascript-hooker")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-color-name
  (package
    (name "node-color-name")
    (version "1.1.4")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/colorjs/color-name")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1m9paib6kj7hy49aapv2h0mi8a77r0rqdyj8xnp34lkkwpz7qasi"))))
    (build-system node-build-system)
    (home-page "https://github.com/colorjs/color-name")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-color-convert
  (package
    (name "node-color-convert")
    (version "2.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Qix-/color-convert")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0gr892xvcn24ph2wdxbh7g5vpv644hjiyhhxh7d1jwzr2wj5zxkk"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("chalk" "xo")))))))
    (inputs (list node-color-name))
    (home-page "https://github.com/Qix-/color-convert")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-ansi-styles
  (package
    (name "node-ansi-styles")
    (version "4.1.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/chalk/ansi-styles")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "01frx05m92ymx0s6kcg8yky4f36lvlpikqrf01h3vs0ma9q1r5qn"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("ava" "svg-term-cli" "xo")))))))
    (inputs (list node-color-convert))
    (home-page "https://github.com/chalk/ansi-styles")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-has-flag
  (package
    (name "node-has-flag")
    (version "4.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/sindresorhus/has-flag")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "14acxip075a6wbgzg91valcsb12z82bi90iinam10015cy545qch"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("ava" "tsd" "xo")))))))
    (home-page "https://github.com/sindresorhus/has-flag")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-supports-color
  (package
    (name "node-supports-color")
    (version "7.1.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/chalk/supports-color")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1w2nrnbvw4maj2v20n0hyzsv3v93jhlqz2sn32mzbfkp339qk6bf"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("ava" "import-fresh" "xo")))))))
    (inputs (list node-has-flag))
    (home-page "https://github.com/chalk/supports-color")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-chalk
  (package
    (name "node-chalk")
    (version "4.1.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/chalk/chalk")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "18dp8qy796xl8psnpwppas3z39jnpijc3gyln4mbnihdj7zps114"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("ava"
                 "coveralls"
                 "execa"
                 "import-fresh"
                 "matcha"
                 "nyc"
                 "resolve-from"
                 "tsd"
                 "xo")))))))
    (inputs (list node-ansi-styles node-supports-color))
    (home-page "https://github.com/chalk/chalk")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-grunt-legacy-log-utils
  (package
    (name "node-grunt-legacy-log-utils")
    (version "2.1.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gruntjs/grunt-legacy-log-utils")
             (commit "331a476ecb24ee8e443c62765d1fb5cd2f8c7fad")))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1xwwc1ncjfsgy82cbcyzfybc9q0qwpbx25iwzzfif8fvzp6lgbhl"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("grunt"
                 "grunt-cli"
                 "grunt-contrib-jshint"
                 "grunt-contrib-nodeunit"
                 "grunt-contrib-watch")))))))
    (inputs (list node-chalk node-lodash))
    (home-page "https://github.com/gruntjs/grunt-legacy-log-utils")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-colors
  (package
    (name "node-colors")
    (version "1.4.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Marak/colors.js")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1ih98ycxjprlxn72ygqgkgcp9wkpd20apndjd11270qyyifvkr8y"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies '("eslint" "eslint-config-google")))))))
    (home-page "https://github.com/Marak/colors.js")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-grunt-legacy-log
  (package
    (name "node-grunt-legacy-log")
    (version "3.0.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gruntjs/grunt-legacy-log")
             (commit "d412ba7329f6f71d3762dea0d4e3af0e2e46c9ab")))
       (file-name (git-file-name name version))
       (sha256
        (base32 "061ix0shdp7nzabmiikaagsf070lx2pcd79cblvxchwqfy3yqsj9"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("grunt"
                 "grunt-cli"
                 "grunt-contrib-jshint"
                 "grunt-contrib-nodeunit"
                 "grunt-contrib-watch")))))))
    (inputs
      (list
        node-colors
        node-grunt-legacy-log-utils
        node-hooker
        node-lodash))
    (home-page "https://github.com/gruntjs/grunt-legacy-log")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-sprintf-js
  (package
    (name "node-sprintf-js")
    (version "1.1.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/alexei/sprintf.js")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "01wd2kfg7ymbwj35qrnabqxsbz0w8cwpa8fzwxshkr1x78xqiyqf"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("benchmark"
                 "eslint"
                 "gulp"
                 "gulp-benchmark"
                 "gulp-eslint"
                 "gulp-header"
                 "gulp-mocha"
                 "gulp-rename"
                 "gulp-sourcemaps"
                 "gulp-uglify"
                 "mocha")))))))
    (home-page "https://github.com/alexei/sprintf.js")
    (synopsis "")
    (description "")
    (license license:bsd-3)))

(define-public node-underscore-string
  (package
    (name "node-underscore-string")
    (version "3.3.6")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/epeli/underscore.string")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0m08zwgahamlfnfvdbaazfvnzi7jfc80nkzn1ivj2xkq78fy3iak"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'switch-to-esbuild
           (lambda args
             (substitute* "package.json"
               (("\"build.*build:clean.*build:bundle.*")
                (string-append
                 "\"build\": \""
                 "npm run build:clean && "
                 "esbuild index.js --target=es6 --format=iife --outfile=dist/underscore.string.js"
                 "\",")))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("browserify"
                 "browserify-header"
                 "eslint"
                 "istanbul"
                 "mocha"
                 "mocha-lcov-reporter"
                 "replace"
                 "uglifyjs"
                 "underscore")))))))
    (inputs (list node-sprintf-js node-util-deprecate))
    (native-inputs (list esbuild))
    (home-page "https://github.com/epeli/underscore.string")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-getobject
  (package
    (name "node-getobject")
    (version "1.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/cowboy/node-getobject")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "08rg323mwdby8n3dyfbndjh5a2zsy9cyhpb52kgvk2bykwk1cy7y"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("grunt-contrib-jshint"
                 "grunt-contrib-nodeunit"
                 "grunt-contrib-watch"
                 "grunt")))))))
    (home-page "https://github.com/cowboy/node-getobject")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-async
  (package
    (name "node-async")
    (version "3.2.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/caolan/async")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1q65f3d1y6h3bv0x4rd9by6dy8bap8wcc70iklan1d03kky163vp"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("babel-core"
                 "babel-eslint"
                 "babel-minify"
                 "babel-plugin-add-module-exports"
                 "babel-plugin-istanbul"
                 "babel-plugin-syntax-async-generators"
                 "babel-plugin-transform-es2015-modules-commonjs"
                 "babel-preset-es2015"
                 "babel-preset-es2017"
                 "babel-register"
                 "babelify"
                 "benchmark"
                 "bluebird"
                 "browserify"
                 "chai"
                 "cheerio"
                 "coveralls"
                 "es6-promise"
                 "eslint"
                 "eslint-plugin-prefer-arrow"
                 "fs-extra"
                 "jsdoc"
                 "karma"
                 "karma-browserify"
                 "karma-edge-launcher"
                 "karma-firefox-launcher"
                 "karma-junit-reporter"
                 "karma-mocha"
                 "karma-mocha-reporter"
                 "karma-safari-launcher"
                 "mocha"
                 "mocha-junit-reporter"
                 "native-promise-only"
                 "nyc"
                 "rollup"
                 "rollup-plugin-node-resolve"
                 "rollup-plugin-npm"
                 "rsvp"
                 "semver"
                 "yargs")))))))
    (home-page "https://caolan.github.io/async/")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-grunt-legacy-util
  (package
    (name "node-grunt-legacy-util")
    (version "2.0.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gruntjs/grunt-legacy-util")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1a70g52q9scm4p778i3mld4diqgjh2sr7f40ybi9d6ragp7aw7kr"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("grunt"
                 "grunt-cli"
                 "grunt-contrib-jshint"
                 "grunt-contrib-nodeunit"
                 "grunt-contrib-watch"
                 "temporary")))))))
    (inputs
      (list
        node-async
        node-exit
        node-getobject
        node-hooker
        node-lodash
        node-underscore-string
        node-which))
    (home-page "https://github.com/gruntjs/grunt-legacy-util")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-grunt
  (package
    (name "node-grunt")
    (version "1.4.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gruntjs/grunt")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0bza2d3m09wxw5mnaqiwcs7qlbkhd4ylf2gs9bihhzqlqbyrsywg"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("difflet"
                 "eslint-config-grunt"
                 "grunt-contrib-nodeunit"
                 "grunt-contrib-watch"
                 "grunt-eslint"
                 "temporary"
                 "through2")))))))
    (inputs
      (list
        node-dateformat
        node-eventemitter2
        node-exit
        node-findup-sync
        node-glob
        node-grunt-cli
        node-grunt-known-options
        node-grunt-legacy-log
        node-grunt-legacy-util
        node-iconv-lite
        node-js-yaml
        node-minimatch
        node-mkdirp
        node-nopt
        node-rimraf))
    (home-page "http://gruntjs.com")
    (synopsis "Task runner for JavaScript development")
    (description "Grunt is a task runner with many available plugins for common
JavaScript project needs.")
    (license license:expat)))

(define-public node-filelist
  (package
    (name "node-filelist")
    (version "1.0.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/mde/filelist")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1zrb60xgjgjdcyv0rwxphwhy9lxgdn0xr5vi4q3yzgvnsvgyk25n"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f))
    (inputs (list node-minimatch))
    (home-page "https://github.com/mde/filelist")
    (synopsis "")
    (description "")
    (license license:asl2.0)))

(define-public node-jake
  (package
    (name "node-jake")
    (version "10.8.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jakejs/jake")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0psbrqbbgsr4pm8vimlws0my0n280vbs6896b5kszq98zcfgpzdn"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("eslint"
                 "mocha"
                 "q")))))))
    (inputs
      (list
        node-filelist
        node-minimatch
        node-chalk
        node-async))
    (home-page "https://github.com/jakejs/jake")
    (synopsis "JavaScript build tool for Node.js")
    (description "")
    (license license:asl2.0)))

(define-public node-sax
  (package
    (name "node-sax")
    (version "1.2.4")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/isaacs/sax-js")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0l10c4afdwwxvk3ggvy0jf27f7cmqmnzqll02ya5kypdci1l8cn3"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("standard" "tap")))))))
    (home-page "https://github.com/isaacs/sax-js")
    (synopsis "")
    (description "")
    (license license:isc)))

(define-public node-xmlbuilder
  (package
    (name "node-xmlbuilder")
    (version "15.1.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/oozcitak/xmlbuilder-js")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "07qkf3i0r6gwpwjbm335cqj1z58qb3069hcr99cjnsbm9flb48j6"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("coffee-coverage"
                 "coveralls"
                 "istanbul"
                 "mocha"
                 "nyc"
                 "xpath"
                 "git-state"))))
         (add-after 'delete-dependencies 'prepublishOnly-is-build
           (lambda args
             (substitute* "package.json"
               (("prepublishOnly") "build"))
             )))))
    (inputs (list node-coffeescript))
    (home-page "https://github.com/oozcitak/xmlbuilder-js")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-coffeescript
  (package
    (name "node-coffeescript")
    (version "2.6.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jashkenas/coffeescript")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1j2bg4nw5z7pyfmydq73ailbw2r22rc65phplh82jq4i6hc6d8as"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@babel/core"
                 "@babel/preset-env"
                 "babel-preset-minify"
                 "codemirror"
                 "docco"
                 "highlight.js"
                 "jison"
                 "markdown-it"
                 "puppeteer"
                 "underscore"
                 "webpack")))))))
    (home-page "https://github.com/jashkenas/coffeescript")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-coffeescript-1
  (package
    (name "node-coffeescript")
    (version "1.12.7")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/jashkenas/coffeescript")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1hlw32lmdr2ib2hf63frqapccybw31kszhha38jkrd54bbqwcdfg"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("docco"
                 "google-closure-compiler-js"
                 "highlight.js"
                 "jison"
                 "markdown-it"
                 "underscore")))))))
    (home-page "https://github.com/jashkenas/coffeescript")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-xml2js
  (package
    (name "node-xml2js")
    (version "0.4.23")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Leonidas-from-XIV/node-xml2js")
             (commit "8fc5b926846cd4ef9a2dbccd411705e0c110a708")))
       (file-name (git-file-name name version))
       (sha256
        (base32 "06w2597w2iy2g84f5k63qvknxmc1syq2xc9kxv95y19jplfqq2jq"))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'build-not-watch
           (lambda args
             (substitute* "Cakefile"
               (("-cw") "-c"))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("coffee-script"
                 "coveralls"
                 "diff"
                 "docco"
                 "nyc"
                 "zap")))))))
    (inputs (list node-coffeescript-1 node-sax node-xmlbuilder))
    (home-page "https://github.com/Leonidas-from-XIV/node-xml2js")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-types-node
  (package
    (name "node-types-node")
    (version "8.10.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/DefinitelyTyped/DefinitelyTyped")
             (commit "166b1e778ac310acbaacc8ae3a73fc73e31b4c81")))
       (file-name (git-file-name name version))
       (sha256
        (base32 "18xfni66pnpdcrcsixwbjc2mkahk6y5fbp3ljbac50v9cmr162vi"))))
    (build-system node-build-system)
    (arguments
     `(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'extract-single-package
           (lambda args
             (use-modules (guix build json))
             (copy-file "types/node/v8/index.d.ts" "index.d.ts")
             (copy-file "types/node/v8/inspector.d.ts" "inspector.d.ts")
             (delete-file "notNeededPackages.json")
             (delete-file-recursively "types")
             (delete-file-recursively "scripts")
             (call-with-output-file "package.json"
               (lambda (port)
                 (write-json
                   '(@ (name . "@types/node")
                       (version . ,version)
                       (license . "MIT")
                       (main . "")
                       (types . "index.d.ts")
                       (typeScriptVersion . "2.1")
                       (dependencies . (@))) port))))))))
    (home-page "https://github.com/DefinitelyTyped/DefinitelyTyped")
    (synopsis "")
    (description "")
    (license license:expat)))

(define-public node-typescript
  (package
    (name "node-typescript")
    (version "2.9.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Microsoft/TypeScript")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "059fzn1fipyfbwnk7z1p7zbjbbphz1dm6adrx236a8jrnn47a916"))
       (patches
         (parameterize
           ((%patch-path
             (map
              (lambda (directory)
                (string-append directory "/guixrus/packages/patches"))
              %load-path)))
         (search-patches "node-typescript-setup-for-bootstrap-by-esbuild.patch")))))
    (build-system node-build-system)
    (arguments
     '(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'remove-compiled-artifacts
           (lambda args (delete-file-recursively "./lib")))
         (add-after 'unpack 'symlink-node-modules
           ; Workaround for https://github.com/microsoft/TypeScript/issues/8760
           (lambda args
             (use-modules (ice-9 ftw))
             (mkdir "node_modules")
             (for-each
               (lambda (mods)
                 (for-each
                   (lambda (mod) (symlink
                             (string-append mods "/" mod)
                             (string-append "node_modules/" (basename mod))))
                   (scandir mods (lambda (file) (and
                                            (not (string=? file "."))
                                            (not (string=? file "..")))))))
               (string-split (getenv "NODE_PATH") #\:))))
         (add-after 'patch-dependencies 'delete-dependencies
           (lambda args
             (delete-dependencies
               '("@octokit/rest"
                 "@types/browserify"
                 "@types/chai"
                 "@types/convert-source-map"
                 "@types/del"
                 "@types/glob"
                 "@types/gulp"
                 "@types/gulp-concat"
                 "@types/gulp-help"
                 "@types/gulp-newer"
                 "@types/gulp-sourcemaps"
                 "@types/jake"
                 "@types/merge2"
                 "@types/minimatch"
                 "@types/minimist"
                 "@types/mkdirp"
                 "@types/mocha"
                 "@types/q"
                 "@types/run-sequence"
                 "@types/source-map-support"
                 "@types/through2"
                 "@types/travis-fold"
                 "@types/xml2js"
                 "browser-resolve"
                 "browserify"
                 "chai"
                 "chalk"
                 "convert-source-map"
                 "del"
                 "gulp"
                 "gulp-clone"
                 "gulp-concat"
                 "gulp-help"
                 "gulp-insert"
                 "gulp-newer"
                 "gulp-sourcemaps"
                 "gulp-typescript"
                 "istanbul"
                 "merge2"
                 "minimist"
                 "mkdirp"
                 "mocha"
                 "mocha-fivemat-progress-reporter"
                 "q"
                 "run-sequence"
                 "sorcery"
                 "source-map-support"
                 "through2"
                 "travis-fold"
                 "tslint"
                 "typescript"
                 "vinyl"))))
         (add-after 'delete-dependencies 'bootstrap
           (lambda args
             (use-modules (guix build json)
                          (ice-9 popen)
                          (ice-9 textual-ports))
             (invoke "esbuild"
                     "--platform=node"
                     "--bundle"
                     "--outdir=scripts"
                     "--target=es6"
                     "scripts/processDiagnosticMessages.ts")
             (invoke "esbuild"
                     "--platform=node"
                     "--format=cjs"
                     "--outdir=scripts"
                     "--target=es6"
                     "scripts/generateLocalizedDiagnosticMessages.ts")
             (invoke "jake" "src/compiler/diagnosticInformationMap.generated.ts")
             (call-with-output-file "src/tsc.ts"
               (lambda (port)
                 (display (get-string-all (apply open-pipe* OPEN_READ
                   `("cat"
                     ,@(map
                       (lambda (file) (string-append "src/compiler/" file))
                       (assoc-ref
                         (call-with-input-file "src/compiler/tsconfig.json"
                                               (lambda (port) (read-json port)))
                         "files"))))) port)))
             (invoke "esbuild"
                     "--platform=node"
                     "--bundle"
                     "--outdir=lib"
                     "--target=es6"
                     "src/tsc.ts")
             (substitute* "lib/tsc.js"
               (("var ts;") "var ts = global;\nts.Debug = global;\n"))
             (invoke "jake" "lib")
             (for-each
               (lambda (file)
                 (copy-file file (string-append "lib/" (basename file))))
               (find-files "built/local" "lib.*"))
             (invoke "jake" "tsc")
             (invoke "jake" "built/local/typescriptServices.js")
             (copy-file "built/local/typescript.js" "lib/typescript.js")
             (invoke "jake" "LKG")
             (delete-file-recursively "node_modules")))
           (delete 'build))))
    (inputs (list node-jake node-xml2js node-types-node esbuild))
    (home-page "https://www.typescriptlang.org/")
    (synopsis "TypeScript is a language for application scale JavaScript")
    (description "This package provides the compiler and core typings.")
    (license license:asl2.0)))
